package org.fhm.zdte.client.config;

import org.fhm.substrate.annotation.Configuration;
import org.fhm.substrate.annotation.Value;
import org.fhm.zdte.common.config.AbstractZDTEConfiguration;

/**
 * Initialize the configuration information on the client side.
 *
 * @author 谭波
 * @since 2023/10/14
 */
@Configuration("client.initial")
public class ClientInitialConfiguration extends AbstractZDTEConfiguration {

    @Value("port")
    private int port;
    @Value("server-port")
    private int serverPort;
    @Value("server-ip")
    private String serverIp;
    @Value("online-schedule")
    private int onlineSchedule;
    @Value("client-online-timeout")
    private int clientOnlineTimeout;

    @Value("connect-scan-port-range")
    private int connectScanPortRange;

    @Value("heartbeat-schedule")
    private int heartbeatSchedule;

    @Value("heartbeat-timeout")
    private int heartbeatTimeout;

    @Value("request-timeout")
    private int requestTimeout;

    @Value("secret.key")
    private String secretKey;

    public int getPort() {
        return port;
    }

    public int getServerPort() {
        return serverPort;
    }

    public String getServerIp() {
        return serverIp;
    }

    public int getOnlineSchedule() {
        return onlineSchedule;
    }

    public int getClientOnlineTimeout() {
        return clientOnlineTimeout;
    }

    public int getConnectScanPortRange() {
        return connectScanPortRange;
    }

    public int getHeartbeatSchedule() {
        return heartbeatSchedule;
    }

    public int getHeartbeatTimeout() {
        return heartbeatTimeout;
    }

    public int getRequestTimeout() {
        return requestTimeout;
    }

    public String getSecretKey() {
        return secretKey;
    }
}
